// 这是一个在网上看到的示例
#include <stdio.h>

int main(void)
{
    short* p = (short*) 10;
    p++;
    /**
     * 这里的输出是12.
     * 
     * 我原以为会报段错误，但其实并不会，看来对指针的理解还是不够深。
     * 指针可以指向任何地方，这里把它作为10进制整数输出。
     * 不会报错，但是如果你访问它，它一定会报错
    */
    printf("p = %d\n", p);

    // 打开这句话，就会报段错误
    // printf("*p = %hd\n", *p);

    short*** ppp = (short***) 10;
    ppp++;
    printf("ppp = %d\n", ppp);
    // 打开这句话，就会报段错误
    printf("***ppp = %hd\n", ***ppp);
    return 0;
}